/*

* ------------------------------------------------------------------------
* ------------------------------------------------------------------------
* |     Smart-Shop开源商城系统/ Java商城-首选电商平台系统 请务必保留此注释头信息
* |     开源地址: https://gitee.com/ningbo-qishan/gruul-mall
* ------------------------------------------------------------------------
* ------------------------------------------------------------------------
* |     可正常分享和学习源码,未经授权 不可商用！
* |     商业版中台购买/开源版商业授权 联系技术客服
* |     官网:  https://www.73app.cn/
* ------------------------------------------------------------------------
* ------------------------------------------------------------------------
* |     Copyright (c) 2016-2999 宁波启山智软科技有限公司
* |     版权所有 ,侵权必究！
* ------------------------------------------------------------------------

*/
package com.medusa.gruul.platform.api.entity;

import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

import java.time.LocalDateTime;

import com.medusa.gruul.common.data.base.BaseNoTenantEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 代理商充值记录表
 * </p>
 *
 * @author whh
 * @since 2020-10-04
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("t_agent_recharge")
@ApiModel(value = "AgentRecharge对象", description = "代理商充值记录表")
public class AgentRecharge extends BaseNoTenantEntity {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @ApiModelProperty(value = "id")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 充值编号
     */
    @ApiModelProperty(value = "充值编号")
    @TableField("recharge_num")
    private String rechargeNum;

    /**
     * 1扫码支付->支付宝2扫码支付->微信 3汇款支付
     */
    @ApiModelProperty(value = "1扫码支付->支付宝2扫码支付->微信 3汇款支付 4-代理余额支付")
    @TableField("pay_type")
    private Integer payType;

    /**
     * 充值金额
     */
    @ApiModelProperty(value = "充值金额")
    @TableField("pay_amount")
    private BigDecimal payAmount;

    /**
     * 支付后账户余额
     */
    @ApiModelProperty(value = "支付后账户余额")
    @TableField("account_amount")
    private BigDecimal accountAmount;


    /**
     * 付款方信息(json) 线下打款(汇款支付)使用 {"name":"姓名","paymentTime":"付款时间","account":"付款账号"}
     */
    @ApiModelProperty(value = "付款方信息(json) 线下打款(汇款支付)使用 {\"name\":\"姓名\",\"paymentTime\":\"付款时间\",\"account\":\"付款账号\"}")
    @TableField("pay_info")
    private String payInfo;

    /**
     * 结束时间(异步回调时间)
     */
    @ApiModelProperty(value = "结束时间(异步回调时间)")
    @TableField("finish_time")
    private LocalDateTime finishTime;

    /**
     * 充值状态: 0:生成订单 1:充值中 2:充值成功 3-已关闭
     */
    @ApiModelProperty(value = "充值状态: 0:生成订单 1:充值中 2:充值成功 3-已关闭")
    @TableField("status")
    private Integer status;

    /**
     * t_agent_info 表中id
     */
    @ApiModelProperty(value = "t_agent_info 表中id")
    @TableField("agent_info_id")
    private Long agentInfoId;

    /**
     * 商户id
     */
    @ApiModelProperty(value = "商户id")
    @TableField("merchant_id")
    private Long merchantId;

    /**
     * 三方预交易标识
     */
    @ApiModelProperty(value = "三方预交易标识")
    @TableField("prepay_id")
    private String prepayId;


    /**
     * 审核时间
     */
    @ApiModelProperty(value = "审核时间")
    @TableField("audit_time")
    private LocalDateTime auditTime;

    /**
     * 审核状态：0:待审核 1:审核通过 2:审核拒绝
     */
    @ApiModelProperty(value = "审核状态：0:待审核 1:审核通过 2:审核拒绝")
    @TableField("auditor_status")
    private Integer auditorStatus;
}
